/**
 * Copyright (c) 2025 myons Inc. All rights reserved.
 */
package cn.zmwh.common.security.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @describe: 接口所需角色，若某接口原先从A角色变更为B角色，需要手动去删除菜单和角色关联关系 、
 * @author: dmzmwh 、
 * @time: 2025-03-17 15:07 、
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface PreRole {
    /**
     * 方法名称
     *
     * @return
     */
    String name();

    /**
     * 需要角色，单个角色.
     */
    String role() default "";

    /**
     * 与 role 互斥 满足一个即可，同时存在优先取值 role
     */
    String[] roles() default {};

}
